home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Programming / GMS / GMSDev / Includes / system / globalbase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-05-07  |  3.8 KB  |  101 lines

  1. #ifndef SYSTEM_GLOBALBASE_H
  2. #define SYSTEM_GLOBALBASE_H
  3.  
  4. /*
  5. **  $VER: globalbase.h V1.0
  6. **
  7. **  Definition of the dpkernel's global variables structure.
  8. **
  9. **  (C) Copyright 1996-1998 DreamWorld Productions.
  10. **      All Rights Reserved
  11. */
  12.  
  13. #ifndef DPKERNEL_H
  14. #include <dpkernel/dpkernel.h>
  15. #endif
  16.  
  17. #ifndef EXEC_LIBRARIES_H
  18.  
  19.  #ifdef MACHINE_AMIGA
  20.   #include <exec/libraries.h>
  21.  #else
  22.  
  23.   struct Node {
  24.     struct  Node *ln_Succ;  /* Pointer to next (successor) */
  25.     struct  Node *ln_Pred;  /* Pointer to previous (predecessor) */
  26.     UBYTE   ln_Type;
  27.     BYTE    ln_Pri;         /* Priority, for sorting */
  28.     char    *ln_Name;       /* ID string, null terminated */
  29.   };  /* Note: word aligned */
  30.  
  31.   struct Library {
  32.     struct  Node lib_Node;
  33.     UBYTE   lib_Flags;
  34.     UBYTE   lib_pad;
  35.     UWORD   lib_NegSize;   /* number of bytes before library */
  36.     UWORD   lib_PosSize;   /* number of bytes after library */
  37.     UWORD   lib_Version;   /* major */
  38.     UWORD   lib_Revision;  /* minor */
  39.     APTR    lib_IdString;  /* ASCII identification */
  40.     ULONG   lib_Sum;       /* the checksum itself */
  41.     UWORD   lib_OpenCnt;   /* number of current opens */
  42.   };                       /* Warning: size is not a longword multiple! */
  43.  #endif
  44.  
  45. #endif
  46.  
  47. /*****************************************************************************
  48. ** All fields in this structure are private.  This file is included in the
  49. ** developers archive for module writers and debugging purposes only.
  50. */
  51.  
  52. struct GVBase {
  53.   struct Library LibNode;
  54.   WORD   ScreenFlip;                /* Private */
  55.   APTR   SegList;                   /* Private */
  56.   WORD   OldMouseX1;                /* Private */
  57.   WORD   OldMouseY1;                /* Private */
  58.   WORD   OldMouseX2;                /* Private */
  59.   WORD   OldMouseY2;                /* Private */
  60.   WORD   VBLPosition;               /* Private */
  61.   BYTE   Switch;                    /* Private */
  62.   BYTE   Destruct;                  /* Private */
  63.   LONG   RandomSeed;                /* Random seed */
  64.   WORD   BlitterUsed;               /* 0 = Free, 1 = Grabbed */
  65.   WORD   BlitterPriority;           /* 0 = NoPriority, 1 = Priority */
  66.   struct GScreen *CurrentScreen;    /* Currently displayed screen */
  67.   LONG   Ticks;                     /* Vertical blank ticks counter */
  68.   WORD   HSync;                     /* Private */
  69.   struct SysObject *SysObjects;     /* System object list (master) */
  70.   BYTE   DebugActive;               /* Set if debugger is currently active */
  71.   BYTE   ScrBlanked;                /* Set if screen is currently blanked */
  72.   WORD   Version;                   /* The version of this kernel */
  73.   WORD   Revision;                  /* The revision of this kernel */
  74.   struct SScreen   *ScreenList;     /* List of shown screens, starting from back. */
  75.   struct SysObject *ChildObjects;   /* System object list (hidden & children) */
  76.   struct Directory *ReferenceDir;   /* List of references files */
  77.   struct Reference *ReferenceList;  /* List of object references */
  78.   struct Module    *ScreensModule;  /* Pointer to module */
  79.   struct Module    *BlitterModule;  /* Pointer to module */
  80.   struct Module    *FileModule;     /* Pointer to module */
  81.   struct Module    *KeyModule;      /* Pointer to module */
  82.   APTR   ScreensBase;               /* */
  83.   APTR   BlitterBase;               /* */
  84.   APTR   FileBase;                  /* */
  85.   APTR   KeyBase;                   /* */
  86.   struct Module *SoundModule;       /* Pointer to module */
  87.   APTR   SoundBase;                 /* */
  88.   struct ModEntry *ModList;         /* List of modules */
  89.   struct EvtEntry *EventArray;      /* Event array */
  90.   LONG   FlipSignal;                /* Signal mask */
  91.   struct DPKTask  *UserFocus;       /* Task that currently has the user focus. */
  92.   struct DebugMsg *Debug;           /* Debug routines */
  93. };
  94.  
  95. struct SScreen {
  96.   struct SScreen *Next;
  97.   struct GScreen *Screen;
  98. };
  99.  
  100. #endif /* SYSTEM_GLOBALBASE_H */
  101.